home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr26 / calvin22.zip / VI.DOC < prev    next >
Text File  |  1993-05-22  |  24KB  |  612 lines

  1. calvin(1)           MS-DOG programmer's manual               calvin(1)
  2.  
  3.  
  4.  
  5.       ------------------------------------------------------------
  6.       --                   Calvin version 2.2.                  --
  7.       --  Copyright 1988, 1989, 1990, 1992, 1993 by Paul Vojta. --
  8.       --     This program may be freely distributed provided:   --
  9.       --                                                        --
  10.       --  1.  All files (vi.exe, vi.doc, and read.me) are       --
  11.       --      distributed together in unmodified form (use of   --
  12.       --      universally available file compression software   --
  13.       --      is allowed, however); and                         --
  14.       --                                                        --
  15.       --  2.  No fee is charged other than a nominal processing --
  16.       --      charge or a connect time charge.                  --
  17.       ------------------------------------------------------------
  18.  
  19.       (Earlier versions of Calvin have been released under the name
  20.       "Free VI.")
  21.  
  22. SYNOPSIS
  23.     vi file ...
  24.     vi +[number] file ...
  25.     vi +/pattern file ...
  26.  
  27.     Wild cards may be used on the command line.
  28.  
  29.     Calvin also supports the EXINIT environment variable, which may contain
  30.     :set commands (put spaces in place of equals signs).
  31.  
  32.  
  33. DESCRIPTION
  34.     Calvin is a screen text editor written for the IBM PC.  It implements
  35.     a subset of the Unix screen editor vi(1).  Users familiar with Unix can
  36.     skip to the command summary at the end of this file.  (Unix is a
  37.     trademark of Bell Laboratories.)
  38.  
  39.     This editor requires MS-DOS 2 or higher and 128K of memory.  It will
  40.     use all available memory for storing the file, etc.; optionally, it can
  41.     store additional information on disk.
  42.  
  43.     It supports EGA 43-line and VGA 50-line modes.
  44.  
  45.  
  46. INSTALLATION
  47.  
  48.     Installation is fairly straightforward; you should copy vi.exe into
  49.     some directory mentioned on your PATH command.
  50.  
  51.     There is one catch, however.  If you want Calvin to use the disk to
  52.     store information which does not fit into memory (i.e., long files),
  53.     then you should tell it which drive and directory to use.  This can be
  54.     done at any time using the :set directory command (see below).
  55.     However, if you edit long files often, it would perhaps be most
  56.     convenient to always set it when Calvin starts up.  This can be done by
  57.     the DOS command line
  58.  
  59.         set EXINIT=set directory c:/tmp
  60.  
  61.     if, for example, you wanted to use c:/tmp as the temporary directory.
  62.     This line can also be placed in the autoexec.bat file.
  63.  
  64.  
  65. GETTING STARTED
  66.     To edit an existing file, type
  67.  
  68.     vi name
  69.  
  70.     as a DOS command.  The first few lines of the file will then appear on
  71.     the screen, and you may use any of the editing commands to modify it.
  72.     For example:
  73.  
  74.         dw        delete a word
  75.         de        delete a word, leaving punctuation
  76.         dd        delete a line
  77.         3dd        delete three lines
  78.         itext<End>  insert text (note that <End> refers to the "End"
  79.                 key on the numeric keypad)
  80.         /string        search for string
  81.         xp        transpose characters (actually two commands)
  82.  
  83.     In addition, all of the keys on the numeric keypad perform as labeled.
  84.     When you are finished editing, type ZZ or ":x" to write the corrections
  85.     to disk and quit.  If no corrections were made, then ZZ just quits.  To
  86.     quit without saving corrections, use ":q!".
  87.  
  88.     If the file named in the DOS command "vi name" does not exist, Calvin
  89.     starts with an empty file, into which text can be inserted.  This is
  90.     how Calvin can be used to create a file.
  91.  
  92.  
  93. EDITOR MODES
  94.     Calvin has three modes, all of which occur in at least one of the above
  95.     commands.  They are,
  96.  
  97.     o    Command mode.  This is the normal and initial state.  All commands
  98.          return here after completion.
  99.  
  100.     o    Insert mode.  Characters typed in insert mode are, as the name
  101.          implies, copied into the file instead of interpreted as commands.
  102.          The "Escape", "End", and "Insert" keys return Calvin to command
  103.          mode (and vice versa for "Insert").  In this mode the cursor is
  104.          larger than in command mode, in order to help you keep track of
  105.          the program's mode.
  106.  
  107.     o    Last line mode.  In this mode the editor is reading text for a ":"
  108.          command or a "/" or "?" search.  The text ends with <cr> or
  109.          "Escape".  Control-U deletes the text but not the ":", "/", or "?"
  110.          (unless there is no text).
  111.  
  112.  
  113. COUNTS BEFORE EDITOR COMMANDS
  114.     Many Calvin commands can be preceded by a number.  The effect of this
  115.     number is usually to repeat the effect of the command.  Sometimes,
  116.     however, it has other meanings.  In many cases it is ignored.
  117.  
  118.  
  119. THE SCREEN
  120.     Most of the screen is used to display the file; the last line is used
  121.     for last line mode and for messages.  Lines past the end of the file
  122.     appear as lines consisting of a single tilde ("~").  Tabs are expanded
  123.     to columns 9, 17, 25, ... (although this can be changed).  Long lines
  124.     are wrapped around, so that they may take up several lines of the
  125.     screen.  "@" lines indicate that the next line is too long to fit on
  126.     the remainder of the screen.  The user should not create lines too long
  127.     to fit on a screen, although Calvin will not stop him or her from
  128.     trying.
  129.  
  130.     In case DOS (or a program bug) scrambles the screen, ^L (Control-L)
  131.     will restore it to what it should be.
  132.  
  133.     If a command causes the cursor to move to a part of the file which is
  134.     not currently displayed on the screen, Calvin will automatically scroll
  135.     as necessary.  Calvin also has commands to explicitly request scrolling:
  136.  
  137.         ^F or PgDn    Move the screen Forward one screenful, keeping the last
  138.             two lines of the old screen as the first two lines of
  139.             the new.
  140.         ^B or PgUp    Move Backwards one screenful.
  141.         ^D        Move Down 1/2 screen.
  142.         ^U        Move Up 1/2 screen.
  143.         ^E        Move Down one line.
  144.         ^Y        Move Up one line.
  145.  
  146.  
  147. MOTION COMMANDS
  148.     The arrows on the numeric keypad perform as labeled.  Also, Calvin has
  149.     a rich assortment of other commands to move the cursor.  These are:
  150.  
  151.         + or <cr>    Move the cursor to the first nonblank character of the
  152.             next line in the file.  (All motions referring to lines
  153.             put the cursor on the first nonblank character of that
  154.             line.)
  155.         -        Move to the previous line.
  156.         $        Move to the end of the current line.
  157.         0        Move to the beginning of the line.
  158.         fx        Find the next occurrence of the given character.  The
  159.             search is limited to the current line.
  160.         Fx        Same as fx, backwards.
  161.         ;        Repeat the previous f or F.
  162.         /string<cr>    Search for the next occurrence of the given string.
  163.             This search starts at the current position, but may
  164.             wrap around the beginning of the file.
  165.         ?string<cr>    Same as "/", searching backwards.
  166.         n        Repeat last "/" or "?" search.
  167.         N        Same as "n", in the opposite direction.
  168.         H or Home    Move the cursor to the first line of the screen.
  169.         M        Move to the middle line of the screen.
  170.         L or End    Move to the last line of the screen.
  171.         nG        Move to the <n>th line of the file.
  172.         G        Move to the last line.
  173.         %        Move to the matching parenthesis, bracket, or brace.
  174.  
  175.  
  176. SEARCHING
  177.     The backslash character `\' has a special meaning in strings used for
  178.     searching.  Generally, it either adds or removes special meaning to or
  179.     from the following character.  Currently, this means that \0 is
  180.     translated into the null character (Calvin treats null characters just
  181.     like any others), and that any other character is taken literally when
  182.     preceded by a backslash.  Otherwise, a '/' indicates the end of a '/'
  183.     search string, and likewise indicates the end of a reverse search
  184.     pattern.  So if you want to search forward for the string \/, use /\\\/
  185.     (the first slash means search forwards, the next two backslashes
  186.     translate into one backslash, the \/ then is translated into a single
  187.     forward slash).  As for other `magic' characters available under
  188.     Unix<tm> vi, Calvin has not implemented them yet.
  189.  
  190.     These comments apply equally well to search strings present in ':'
  191.     commands or '+' parameters.
  192.  
  193.  
  194. THE DELETE OPERATOR
  195.     If one of the above motions is preceded by the letter "d", then Calvin
  196.     will delete the text, from the old position to the new position.  This
  197.     called an operator because it changes the effect of the ensuing motion
  198.     command.  The repetition count for the motion command may either
  199.     precede or follow the "d"; the effect is the same.
  200.  
  201.     Also, "d" may be doubled (i.e. dd or 7dd) to delete one or several
  202.     lines.  If D is capitalized, it deletes through the end of the line.
  203.  
  204.     Other operators are "c" (change), "y" (yank), and "!" (shell filter);
  205.     they are described later.
  206.  
  207.  
  208. OTHER DELETION COMMANDS
  209.         x or Delete    Functions the same as d<Space>; deletes one character.
  210.         X        Deletes backwards one character; same as dh.
  211.  
  212.  
  213. INSERT MODE
  214.     A number of commands place the user in insert mode.  They are:
  215.        i    Enter insert mode, inserting text before the current character.
  216.        a    Insert after the current character.
  217.        A    Insert after end of line.
  218.        o    Open a new line after the current line and enter insert mode.
  219.        O    Open before current line.
  220.        c<motion>, cc, C
  221.         "c" is an operator, similar to "d".  It deletes text and leaves
  222.         the editor in insert mode.  For example, "cw" changes the
  223.         current word; "cc", the current line.
  224.  
  225.     To exit insert mode, use the Esc key, the Ins key, or the End key.  To
  226.     delete all characters typed so far in the current line, type Control-U.
  227.     Insert mode also supports Control-W to delete the most recently typed
  228.     word, and Control-V to strip the next character of any special meaning.
  229.     In this version of vi, the backspace key will also allow you to delete
  230.     a mistakenly typed carriage return.
  231.  
  232.  
  233. OTHER MODIFICATION COMMANDS
  234.         rx    Replaces the current character with the character  x.
  235.         J    Joins two lines; i.e. concatenates them, adding a space between
  236.         them.
  237.  
  238.  
  239. UNDO AND REPEAT
  240.     In case of a mistake, the "u" command will undo the effect of the last
  241.     command which modified the file.  Only the most recent change can be
  242.     undone in this way.
  243.  
  244.     The dot command (".") will repeat the last command which changed the
  245.     file.
  246.  
  247.  
  248. MOVING TEXT
  249.     To move part of a file, one uses the operations of yanking and putting.
  250.     Yanking consists of copying part of a file into a special buffer;
  251.     putting copies that buffer into another part of the file.
  252.  
  253.     To yank text, use the "y" operator (y<motion>, yy, or Y) in the same
  254.     manner as the delete or change operators.  Then move the cursor and use
  255.     the put command (p) or put-before command (P) to put the text
  256.     elsewhere.  For example,
  257.  
  258.         5G yy 9G p
  259.  
  260.     places another copy of the fifth line of the file after the ninth line.
  261.  
  262.     The delete and change operators also save the deleted text in a yank
  263.     buffer.  Thus the command "xp" (actually two commands) exchanges two
  264.     characters by deleting the first and reinserting it after the second.
  265.  
  266.     In addition to the default yank buffer, Calvin has 26 other yank
  267.     buffers, tagged by (lower-case) letters of the alphabet.  To let a
  268.     yank, put, delete, or change command command refer to one of these
  269.     buffers, precede the command with the quote character and the letter of
  270.     the buffer.
  271.  
  272.     Transferring text between files can be done in one of several ways.
  273.     First, the command
  274.  
  275.         :r name
  276.  
  277.     reads the named file into the current file, following the current line.
  278.     You can also indicate that the file is to be read at a given line by
  279.     typing <n>:r name, where <n> is the line number (0 to insert at the
  280.     beginning of the file).
  281.  
  282.     The reverse of this operation is the command,
  283.         <n>,<m>:w name
  284.     which writes lines <n> through <m>, inclusive, into a file of the given
  285.     name, destroying the file's previous contents, if any.
  286.  
  287.     The last way of transferring text between files is to yank one or more
  288.     pieces of text, switch the main file via
  289.  
  290.         :e name        or    :e! name
  291.  
  292.     and then put the text into the new main file.
  293.  
  294.  
  295. MARKING POSITIONS IN THE FILE
  296.     You can mark your current position in the file by typing `mx', where
  297.     `x' may be any lower case letter.  You can then return to that spot by
  298.     typing 'x to return to that line or `x to return to the exact
  299.     character.  Of course, you can also use 'x or `x in an operator, e.g.,
  300.     m'x or y`x.  Also, '' or `` will return to the starting point of the
  301.     last `/', `?', `n', `N', `G', `H', `M', `L', `%', ``', or `'' motion.
  302.  
  303.  
  304. END-OF-LINE CONVERSIONS
  305.     Internally, Calvin uses the Unix<tm> end-of-line convention, that the
  306.     single character '\n' indicates the end of a line.  Unless otherwise
  307.     specified, it will convert all DOS '\r\n' end-of-lines to this
  308.     convention when reading a file, in addition to recognizing a single
  309.     '\n' as an end of line.  When writing files, by default Calvin will
  310.     write end-of-lines in the DOS manner.  A consequence of this is that
  311.     Calvin can read a file with Unix<tm> end-of-lines and interpret it
  312.     correctly without you even noticing.  You can even use Calvin to
  313.     convert from Unix<tm> format to DOS format by doing `vi file' and
  314.     immediately `:wq'.
  315.  
  316.  
  317.     You can also convert back to Unix<tm> format by doing:
  318.  
  319.         vi file
  320.         :set binary
  321.         :wq
  322.  
  323.     This is a little less convenient, but you probably won't have occasion
  324.     to use this feature often.
  325.  
  326.  
  327. HELPFUL HINTS
  328.     In addition to ending insert and last line modes, the Escape key can be
  329.     used to delete a partially complete command.  It also momentarily
  330.     enlarges the cursor.  This makes it easier to see--it is easy to lose
  331.     the cursor after a locate operation.
  332.  
  333.     To insert an escape code into the file, use control-[ or Alt-27, or
  334.     precede it with ^V in insert mode.
  335.  
  336.     One feature that Calvin currently lacks is the ability to change all
  337.     occurrences of a given string to another string.  This can be done with
  338.     alternate uses of the "n" and "." commands (and a little patience).
  339.  
  340.  
  341. MEMORY USAGE
  342.     By default, Calvin will use all available memory in the lower 640K to
  343.     store the file being edited and yanked text, etc.  You can also get
  344.     Calvin to use disk space as well, by means of the `:set directory'
  345.     option described below.  In either case, however, it is always a
  346.     possibility that you will run out of memory.  In that case, you will
  347.     receive the message `Out of memory--save what you have, immediately.'
  348.     It is strongly suggested that you do so, as the editor will be in an
  349.     unstable state; continuing to use it after such a message would likely
  350.     result in loss of data.
  351.  
  352. THE NAME
  353.     As noted already, Calvin has formerly been called "Free VI."  Since the
  354.     appearance of Stevie and Elvis, I decided that a more unique name was
  355.     necessary.  Hence the name "Calvin", which has the requisite two-letter
  356.     substring, as well as the string "Cal", indicating that it came from
  357.     "Cal" (University of California), Berkeley.  (And also, it's seven
  358.     years old :-> ).
  359.  
  360.  
  361. ------------------------------------------------------------
  362.  
  363. The above is a tutorial introduction to some of the most common Calvin
  364. commands.  A list of all Calvin commands appears in the command summary, below.
  365.  
  366.                 COMMAND SUMMARY
  367.                 ------- -------
  368.  
  369.  
  370. Colon commands:
  371.  
  372.     :edit name            edit new file
  373.     :edit +<n> name        edit new file, starting at line <n>
  374.     :edit +/pattern name    edit new file, starting at the first occurrence
  375.                 of the given string.
  376.     :edit! [+colon_command] name
  377.                 discard corrections and edit new file
  378.     :edit[!] [+colon_command] #    edit the file last edited.
  379.  
  380.     :file            print file name, status, and length.
  381.     :file name            change the name of the file being edited to
  382.                 `name'.
  383.     :next            edit the next file in the command line
  384.     :quit            quit the editor
  385.     :quit            abort (quit without saving corrections)
  386.     :read file            read the given file and insert it after the
  387.                 current line
  388.     :<n>read file        read the given file and insert it after line
  389.                 <n>.
  390.     :r                synonym for :read
  391.     :r !command            read in the output of the given DOS command
  392.     :rewind            return to editing the first file given on the
  393.                 vi command line (cf. :next)
  394.     :set option=value        set the given option to the given value
  395.                 the `=' may be replaced by a space (useful in
  396.                 EXINIT).
  397.     :set option            set the given boolean option to TRUE
  398.     :set nooption        set the given boolena option to FALSE
  399.     :set option?        print the current value of the option
  400.     :set all            print the values of all options
  401.     :set            print the values of all options which are not
  402.                 equal to their defaults
  403.     :shell            escape to DOS (return via EXIT)
  404.     :version            print Calvin's version number.  Currently the
  405.                 message printed is:  "Calvin version 2.1.  (C)
  406.                 Copyright 1987, 1988, 1989, 1990, 1992 by Paul
  407.                 Vojta.  For copying conditions, please see the
  408.                 documentation file."
  409.     :wq [file]            synonym for :write followed by :quit
  410.     :write            write the current file to disk, using the name
  411.                 it was edited using
  412.     :write file            write the current file to disk, using the name
  413.                 given
  414.     :write !command        pipe the current file into the given DOS
  415.                 command; note the spacing.
  416.     :<n>,<m>write [file]    write lines <n> through <m> to disk
  417.     :w                synonym for :write
  418.     :x                synonym for :wq (if the current file has been
  419.                 changed), or :quit (if not)
  420.     :<n>=            print the value of <n>
  421.     :<n>            move to line <n>
  422.     :!command            execute the given DOS command
  423.     :!!                execute the last DOS command
  424.  
  425. Command names (and :set options, below) may be abbreviated by shortening them,
  426. provided they still refer to a unique command.  They may be combined on one
  427. line by separating them by `|'.
  428.  
  429. Addresses (written as <n> or <m> in the above list) may be given by one of the
  430. following:
  431.  
  432.     <line number>
  433.     /pattern/
  434.     ?pattern?
  435.     'a, ..., 'z
  436.     .    (refers to the current line number)
  437.     $    (refers to the end of the file)
  438.  
  439.  
  440. You may also use the following synonyms in visual mode:
  441.  
  442.     ZZ    :x
  443.     ^6    :e #
  444.     ^G    :f
  445.  
  446.  
  447. Options for the :set command:
  448.  
  449.     autowrite (synonym aw) (default false)
  450.         If the file has been modified, then automatically write it to
  451.         disk for any :edit, :quit, :rewind, or :next commands.
  452.  
  453.     binary    (default false)
  454.         Read and write files in binary mode (that is, without end-of-
  455.         line conversions).  See the section END-OF-LINE CONVERSIONS.
  456.  
  457.     cpmeof    (default false)
  458.         Under early versions of DOS, text files were supposed to end in
  459.         ^Z (Control-Z).  This option causes Calvin to write a ^Z at the
  460.         ends of files that it creates.
  461.  
  462.     directory (default none)
  463.         Directory to use for storing temporary files.  This option may
  464.         only be changed once.
  465.  
  466.     dosesc    (default false)
  467.         Causes the Escape key to act as a line delete character instead
  468.         of as the character which ends insert mode.  (You can always
  469.         leave insert mode by using the End key.)  The usual line delete
  470.         character is ^U (Control-U).
  471.  
  472.     eolateof (default true)
  473.         Indicates that the file being edit ends with an end-of-line
  474.         character.  Usually this is the case.  This flag is
  475.         automatically set or cleared when editing a file, and is
  476.         automatically cleared when doing a line change command at the
  477.         end of a file.
  478.  
  479.     ignorecase (synonym ic) (default false)
  480.         Causes Calvin to ignore the case of letters when searching for
  481.         strings.
  482.  
  483.     marginbell (synonym mb) (default 0, none)
  484.         Causes Calvin to beep when you reach the indicated column in
  485.         insert mode.
  486.  
  487.     printable (default 126)
  488.         Gives the highest character value to be printed as is, instead
  489.         of being translated into, e.g., \127.
  490.  
  491.     showmode (default false)
  492.         Causes Calvin to show its mode (e.g., INSERT MODE) in the lower
  493.         right-hand corner of the screen.
  494.  
  495.     tabstop (default 8)
  496.         Indicates the number of characters per tab stop.
  497.  
  498.     thoroughshell (default False)
  499.         Instructs calvin to use the COMSPEC variable to load the
  500.         command interpreter when running every DOS command, not just
  501.         the internal ones.  This is useful if you use a different
  502.         command interpreter, such as 4dos, which has a different set of
  503.         internal commands or other features which you wish to use.
  504.  
  505.     vidcompat (default 0)
  506.         Indicates the compatibility lever for video operations.
  507.         Setting it to a higher value may cause some screen-related
  508.         problems to go away if you have slightly non-standard hardware.
  509.         With vidcompat=1, Calvin does not use the alternate screen
  510.         feature of CGA adapters, and with vidcompat=2, it does not save
  511.         and restore the screen after editing.
  512.     
  513.  
  514. Character motions:
  515.  
  516.     h or Backspace or Leftarrow  back <n> character(s)
  517.     Space or l or Rightarrow   forward <n> characters
  518.     j or ^J or ^N or Downarrow   down <n> lines, same column
  519.     k or ^P or Uparrow     up <n> lines, same column
  520.     $        down <n-1> lines, end of line
  521.     0        beginning of line
  522.     ^        first non-white character in line
  523.     w        next <n> words
  524.     b        back <n> words
  525.     e        end of <n>th word from here
  526.     W, B, E    same as w, b, e, with blank-delimited words
  527.     |        move to column <n>
  528.     %        match (), [], or {}.
  529.     `x        character of mx command (x=any lower case letter)
  530.     ``        start of last /?nNGHML%' or ` motion
  531.  
  532.     /string    search
  533.     ?string    backwards search
  534.     /<cr> or ?<cr> forward or backwards search, same pattern
  535.     /string/+3    the third line past the next occurrence of the given string
  536.     n        repeat last search
  537.     N        repeat last search, opposite direction
  538.  
  539.     fx        find next <n>th occurrence of x
  540.     Fx        find previous <n>th x
  541.     tx        next <n>th x (not inclusive)
  542.     Tx        previous <n>th x (not inclusive)
  543.     ;        repeat last f, F, t, or T
  544.     ,        reverse of ,
  545.  
  546.  
  547. Line motions:
  548.  
  549.     + or <cr>    <n>th next line (first nonwhite)
  550.     -        <n>th previous line
  551.         current line or <n-1>st next line
  552.     H or Home    top of screen (or <n>th line on screen)
  553.     M        middle of screen
  554.     L or End    last line of screen (or <n>th line from bottom)
  555.     nG        go to <n>th line (end default)
  556.     'x        line of mx command (x=any lower case letter)
  557.     ''        start of last /?nNGHML%' or ` motion
  558.  
  559.  
  560. Operators:
  561.  
  562.     d<motion>, dd, D    delete
  563.     c<motion>, cc, C    change
  564.     y<motion>, yy, Y    yank
  565.         (Note that in this implementation 'Y' is equivalent to
  566.         'y$' instead of 'yy').
  567.     !<motion>, !!    filter through a DOS command
  568.  
  569.  
  570. Insert Mode:
  571.  
  572.     i or Insert    insert before current character
  573.     a        insert after current character
  574.     I        insert before first nonblank character in line
  575.     A        append to end of line
  576.     o        open after current line
  577.     O        open before current line
  578.  
  579.  
  580. Other modification commands:
  581.  
  582.     x or Delete    delete character; same as "d "
  583.     X        delete previous character; same as "dh"
  584.     s        delete character and enter insert mode; same as "c "
  585.     S        delete line and enter insert mode; same as "cc"
  586.     r        replace <n> characters by the given one
  587.     J        join two lines
  588.     p        put yanked text
  589.     P        put yanked text before current line or character
  590.     u        undo previous command
  591.     .        repeat previous command
  592.  
  593.  
  594. Screen commands:
  595.  
  596.     ^L        redraw screen
  597.     ^F or PgDn    forward <n> screens
  598.     ^B or PgUp    back <n> screens
  599.     ^U, ^D    up (or down) 1/2 screen (<n> changes the number of lines
  600.         counted as 1/2 screen)
  601.     ^Y, ^E    up (or down) <n> lines
  602.     z<cr> or zh    redraw with current line (or <n>th line) on top
  603.     z. or zm    redraw with current line (or <n>th line) in middle
  604.     z- or zl    redraw with current line (or <n>th line) at bottom
  605.     z+        redraw with current bottom line (or <n>th line) at top
  606.  
  607.  
  608. Miscellaneous:
  609.  
  610.     mx        mark here as mark `x' (Cf. 'x and `x above.)
  611.         (x = any lower case letter)
  612.